# -*- coding: utf-8 -*-
"""
@File    :   main.py
@Time    :   2024/04/11 15:35:48
@Author  :   Ennis.Zhou 
@Desc    :   None
"""

from flask import Flask
from flask_restx import abort

app = Flask(__name__)


# 错误处理器工厂函数
def create_error_handler(error_code):
    def error_handler(error):
        # 这里可以根据不同的错误代码返回不同的模板
        if error_code == 404:
            # app.logger.error("render_template('404.html') {404}", error)
            return "render_template('404.html')", 404

        elif error_code == 500:
            return "render_template('500.html')", 500
        else:
            return "render_template('default_error.html')", error_code

    return error_handler


# 注册错误处理器
for code in [404, 500]:
    app.register_error_handler(code, create_error_handler(code))


@app.route('/hello')
def index():
    # raise 500
    abort(404)


if __name__ == '__main__':
    app.run(debug=True)
